package com.ct.websocket1;

import org.springframework.context.annotation.Bean;
import org.springframework.web.socket.server.standard.ServerEndpointExporter;
import org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean;

//@Configuration
public class WebSocketConfig {

    /**
     * ServerEndpointExporter 作用：
     * - 这是 Spring Boot 提供的 WebSocket 服务器端点注册器。
     * - 这个 Bean 负责自动注册所有使用 `@ServerEndpoint` 注解的 WebSocket 端点。
     * - 只适用于 **Spring Boot 内嵌 Tomcat**，如果部署到外部 Tomcat，不要注册这个 Bean。
     *
     * ServerEndpointExporter注入
     * 该Bean会自动注册使用@ServerEndpoint注解申明的WebSocket endpoint
     */
    @Bean
    public ServerEndpointExporter serverEndpointExporter() {
        return new ServerEndpointExporter();
    }


    @Bean
    public ServletServerContainerFactoryBean createWebSocketContainer() {
        ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();
        container.setMaxSessionIdleTimeout(600000L);
        container.setAsyncSendTimeout(600000L);
        return container;
    }
}